package com.talent.controller;

import com.talent.common.Result;
import com.talent.pojo.dto.ChangePasswordDTO;
import com.talent.pojo.dto.UserLoginDTO;
import com.talent.pojo.vo.UserLoginVO;
import com.talent.service.AuthService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import jakarta.validation.Valid;

/**
 * 认证控制器
 */
@RestController
@RequestMapping("/api/auth")
@Slf4j
public class AuthController {

    @Autowired
    private AuthService authService;

    /**
     * 用户登录
     */
    @PostMapping("/login")
    public Result<UserLoginVO> login(@Valid @RequestBody UserLoginDTO userLoginDTO) {
        log.info("用户登录：{}", userLoginDTO);

        UserLoginVO userLoginVO = authService.login(userLoginDTO);
        return Result.success("登录成功", userLoginVO);
    }

    /**
     * 修改密码
     */
    @PutMapping("/change-password")
    public Result<String> changePassword(@Valid @RequestBody ChangePasswordDTO changePasswordDTO) {
        log.info("修改密码");

        authService.changePassword(changePasswordDTO);
        return Result.success("密码修改成功");
    }
}
